<?php
    include(dirname(__FILE__)."/../../../Dao/db.php");

    ///広告グループプランニング
    function addAllAdGroups($adGroups)
    {
        session_start();
        $memberId=$_SESSION['memberId'];
        $listingType = $_POST['search_media_select'];

        //フォーマットは不正の場合、エラーメッセージが出す
        $adGroupArray=checkFormat_adGroup($adGroups);
        if(!is_array($adGroupArray))
        {
            return $adGroupArray;
        }
        else
        {
            //循環して、データベースに挿入
            foreach($adGroupArray as $adgroup)
            {
                $campaignName = $adgroup[0];
                $adGroupName = $adgroup[1];
                $destinationUrl = $adgroup[2];
                $maxCpc = $adgroup[3];
//                $contentMatch = $adgroup[4];
                $contentMaxCpc = $adgroup[4];
                if(strcasecmp($adgroup[5],"On") == 0)
                {
                    $status = 1;
                }
                else
                {
                    $status = 0;
                }

                //該当行のキャンペーンIDを取得
                $query  = "SELECT * FROM campaign WHERE ";
                $query .= "memberId=$memberId AND ";
                $query .= "listingType=$listingType AND ";
                $query .= "name='$campaignName' AND ";
                //未削除されたキャンペーン
                $query .= "status!=9";
                $result = mysql_query($query);
                if($row=mysql_fetch_array($result))
                {
                    $camp_Id = $row['camp_Id'];
                }
                //キャンペーンは存在しない場合、エラーメッセージが出す
                else
                {
                    $message .= "キャンペーン[$campaignName]が存在しません。\\r\\n";
                    continue;
                }

                //所属するキャンペーンのコンテンツサッチフラグを設定
//                if($contentMatch == 1)
//                {
//                    $query = "UPDATE campaign SET enableSeparateContentBids=1 WHERE ";
//                    $query .= "camp_Id=$camp_Id";
//                    $result = mysql_query($query);
//                }
//                else
//                {
//                    $query = "UPDATE campaign SET enableSeparateContentBids=0 WHERE ";
//                    $query .= "camp_Id=$camp_Id";
//                    $result = mysql_query($query);
//                }

                //まず、同じ広告グループ名チェック
                $query = "SELECT * FROM adgroup WHERE ";
                $query .= "memberId=$memberId AND ";
                $query .= "listingType=$listingType AND ";
                $query .= "camp_Id=$camp_Id AND ";
                $query .= "name='$adGroupName' AND ";
                $query .= "status!=9";

                $result = mysql_query($query);
                //同じ広告グループ名がある場合、新規できません
                if(mysql_fetch_array($result))
                {
                    $message .= "キャンペーン[$campaignName]に、同じ広告グループ名[$adGroupName]がある\\r\\n";
                }
                else
                {
                    $query = "INSERT INTO adgroup (memberId,listingType,camp_Id,";
                    $query .= "name,landingUrl,maxCpc,maxContentCpc,";
                    $query .= "status,sync,registDate,lastUpdate) VALUES(";
                    $query .= "$memberId,";
                    $query .= "$listingType,";
                    $query .= "$camp_Id,";
                    $query .= "'$adGroupName',";
                    $query .= "'$destinationUrl',";
                    $query .= "$maxCpc,";
                    $query .= "$contentMaxCpc,";
                    $query .= "$status,";
                    //Googleに未同期
                    $query .= "2,now(),now())";
                    $result = mysql_query($query);
                    if ($result != "1")
                    {
                        $message .= "広告グループ[$adGroupName]登録失敗しました。\\r\\n";
                        continue;
                    }
                    else
                    {
                        $message .= "広告グループ[$adGroupName]登録しました。\\r\\n";
                    }
                }

            }
        }
        return $message;
    }

    //入力チェック
    function checkFormat_adGroup($adGroups)
    {
        $adGroupArray = array();

        for($i=0;$i<count($adGroups);$i++)
        {
            $line = rtrim($adGroups[$i]);
            $info = split(",",mb_convert_encoding($line, 'UTF-8', 'SJIS'));
            if(count($info) != 6)
            {
                $message = "[$i]行目の格式は不正です。カラム数は違います。";
                break;
            }
            else
            {
                //キャンペーン名チェック
                if(strlen($info[0]) == 0)
                {
                    $message = "[$i]行目のキャンペーン名不正です。";
                    break;
                }

                //広告グループ名
                if(strlen($info[1]) == 0)
                {
                    $message = "[$i]行目の広告グループ名は不正です。";
                    break;
                }

                //ランディング先URL
                if(strlen($info[2]) == 0)
                {
                    $message = "[$i]行目のランディング先URLは不正です。";
                    break;
                }

                //単価
                if(preg_match("/^[^0-9]{1,}$/",$info[3]))
                {
                    $message = "[$i]行目の単価は不正です。単価は半角数字をご入力してください。";
                    break;
                }

                //コンテンツマッチ
//                if(strcasecmp($info[4],"On") != 0 && strcasecmp($info[4],"Off") != 0)
//                {
//                    $message = "[$i]行目の格式は不正です。On/Offで入力してください。";
//                    break;
//                }

                //コンテンツサーチ単価
                if(preg_match("/^[^0-9]{1,}$/",$info[4]))
                {
                    $message = "[$i]行目の単価は不正です。単価は半角数字をご入力してください。";
                    break;
                }

                //ステータス
                if(strcasecmp($info[5],"On") != 0 && strcasecmp($info[5],"Off") != 0)
                {
                    $message = "[$i]行目の格式は不正です。On/Offで入力してください。";
                    break;
                }

                array_push($adGroupArray,$info);
            }
        }

        //格式は間違い場合、エラーメッセージを戻る
        if(isset($message))
        {
            return $message;
        }
        else
        {
            return $adGroupArray;
        }
    }

?>
